﻿/********************************************************
 * 类名： EventsLog.cs
 * 功能： 
 *   ver	变更日		作者			变更内容
 * ────────────────────────────────────────
 *   V01.0	2013-11-26	李波			初版
 *
 * Copyright (c) 2013，李波版权所有
 ********************************************************/
using System;
using System.IO;
using System.Linq;
using System.Web;

namespace PSS.Utility
{
    public class ExcelUploadFile
    {
        /// <summary>
        /// Excel
        /// </summary>
        /// <param name="fileNamePath">图片地址</param>
        /// <param name="tempFile">获得程序路径</param>
        /// <returns></returns>
        public static string UpLoadFile(HttpPostedFile fileNamePath, string tempFile)
        {
            const string fileType = "xls|xlsx";
            //获取图片格式
            string fileExt = fileNamePath.FileName.Substring(fileNamePath.FileName.LastIndexOf(".") + 1);
            //返回结果
            var result = string.Empty;
            //验证合法的文件
            if (CheckFileExt(fileType, fileExt))
            {
                //随机文件名
                var fileName = DateTime.Now.ToString("yyyyMMddHHmmssff") + "." + fileExt;
                //按日期归类保存
                var datePath = DateTime.Now.ToString("yyyyMMdd") + "/";
                tempFile += "Upload\\" + datePath;
                //获得要保存的文件路径
                if (!Directory.Exists(tempFile))
                {
                    Directory.CreateDirectory(tempFile);
                }

                fileNamePath.SaveAs(string.Format("{0}{1}", tempFile, fileName));

                result = "Upload/" + datePath + fileName;
            }
            return result;
        }

        /// <summary>
        /// 检查是否为合法的上传文件
        /// </summary>
        /// <returns></returns>
        private static bool CheckFileExt(string _fileType, string _fileExt)
        {
            var allowExt = _fileType.Split('|');
            return allowExt.Any(t => t.ToLower() == _fileExt.ToLower());
        }
    }
}
